home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 626-637 / disk_629 / apig / apig31.lzh / newscreen0.rexx < prev    next >
OS/2 REXX Batch file  |  1992-03-11  |  3KB  |  146 lines

  1.  
  2. /*  Example of OPENSCREENTAGLIST/OPENWINDOWTAGLIST  */
  3.  
  4. call addlib("apig.library",0,-30,0)
  5.  
  6. call set_apig_globals()
  7.  
  8. scrtaglist = makescrtaglist()  /* build tag list for screen */
  9.  
  10. scr  = OPENSCREENTAGLIST(null(),scrtaglist)
  11.  
  12. say scrprocname(scr)
  13.  
  14. call openwin() 
  15.  
  16. say CLOSESCREEN(scr)  
  17.  
  18. call FREETAGITEMS(scrtaglist)
  19.  
  20. exit
  21.  
  22. /* ------------------------------------------------------------ */
  23.  
  24. openwin:
  25.  
  26. portname = "scrtagsport"
  27. p = openport(portname)  
  28.  
  29. wintitle = "APIG v3.1 Screen/Window TagList Example"
  30.  
  31. wintaglist = makewintaglist()  /* build tag list for window */
  32.  
  33. win = openwindowtaglist(portname,null(),wintaglist)
  34.  
  35. exitme = 0
  36. do while exitme = 0
  37.    
  38.      call waitpkt(portname)
  39.  
  40.      do forever 
  41.   
  42.         msg = '0000 0000'x
  43.         msg = getpkt(portname)
  44.  
  45.         if msg = '0000 0000'x then leave
  46.  
  47.         class = getarg(msg,0)
  48.         x = reply(msg,0)  
  49.       
  50.         if class = IDCMP_CLOSEWINDOW then exitme = 1
  51.  
  52.      end  
  53.    
  54. end
  55.     
  56. call CLOSEWINDOW(win)
  57.  
  58. call FREETAGITEMS(wintaglist)
  59.  
  60. call FREEVEC(mytitle)
  61.  
  62. return 1
  63.  
  64. /* ------------------------------------------------------------ */
  65.  
  66. makewintaglist:
  67.  
  68.    winidcmp = IDCMP_CLOSEWINDOW
  69.  
  70.    winflags = WFLG_CLOSEGADGET + WFLG_DRAGBAR + WFLG_SIZEGADGET,
  71.               + WFLG_DEPTHGADGET + WFLG_GIMMEZEROZERO
  72.  
  73.    mytaglist = ALLOCATETAGITEMS(30)
  74.  
  75.    call SETTAGSLOT(mytaglist,0,WA_LEFT,'n',0)   
  76.  
  77.    call SETTAGSLOT(mytaglist,1,WA_TOP,'n',0)    
  78.  
  79.    call SETTAGSLOT(mytaglist,2,WA_WIDTH,'n',640) 
  80.  
  81.    call SETTAGSLOT(mytaglist,3,WA_HEIGHT,'n',200) 
  82.  
  83.    call SETTAGSLOT(mytaglist,4,WA_DETAILPEN,'n',3) 
  84.  
  85.    call SETTAGSLOT(mytaglist,5,WA_BLOCKPEN,'n',4) 
  86.  
  87.    call SETTAGSLOT(mytaglist,6,WA_MINWIDTH,'n',40) 
  88.  
  89.    call SETTAGSLOT(mytaglist,7,WA_MAXWIDTH,'n',640) 
  90.  
  91.    call SETTAGSLOT(mytaglist,8,WA_MINHEIGHT,'n',80) 
  92.  
  93.    call SETTAGSLOT(mytaglist,9,WA_MAXHEIGHT,'n',400) 
  94.  
  95.    call SETTAGSLOT(mytaglist,10,WA_SIZEGADGET,'n',1) 
  96.  
  97.    call SETTAGSLOT(mytaglist,11,WA_DRAGBAR,'n',1) 
  98.  
  99.    call SETTAGSLOT(mytaglist,12,WA_CLOSEGADGET,'n',1) 
  100.  
  101.    call SETTAGSLOT(mytaglist,13,WA_ACTIVATE,'n',1) 
  102.  
  103.    call SETTAGSLOT(mytaglist,14,WA_GIMMEZEROZERO,'n',1)
  104.  
  105.    mytitle = ALLOCVEC(length(wintitle)+1,MEMF_CLEAR)
  106.    call export(mytitle,wintitle)
  107.    call SETTAGSLOT(mytaglist,15,WA_TITLE,'p',mytitle) 
  108.  
  109.    call SETTAGSLOT(mytaglist,16,WA_FLAGS,'n',winflags) 
  110.  
  111.    call SETTAGSLOT(mytaglist,17,WA_IDCMP,'n',winidcmp) 
  112.  
  113.    call SETTAGSLOT(mytaglist,18,WA_CUSTOMSCREEN,'p',scr) 
  114.  
  115.    call SETTAGSLOT(mytaglist,19,TAG_DONE,'n',0) 
  116.  
  117. return mytaglist
  118.  
  119.  
  120. /* ------------------------------------------------------------ */
  121.  
  122. makescrtaglist:
  123.  
  124.    scrtagl = ALLOCATETAGITEMS(18)
  125.  
  126.    sapens  = MAKEPOINTER(scrtagl,0,24,MEMF_CLEAR)
  127.  
  128.    call SETVALUE(sapens,0,2,'n',-1)
  129.  
  130.    scrpname = MAKEPOINTER(scrtagl,0,80,MEMF_CLEAR)
  131.    call export(scrpname,"MY SCREEN ONE ")
  132.  
  133.    call SETTAGSLOT(scrtagl,0,SA_Title,'p',scrpname)   
  134.    call SETTAGSLOT(scrtagl,1,SA_Left,'n',0)
  135.    call SETTAGSLOT(scrtagl,2,SA_Top,'n',0)
  136.    call SETTAGSLOT(scrtagl,3,SA_Width,'n',640)
  137.    call SETTAGSLOT(scrtagl,4,SA_Height,'n',400)
  138.    call SETTAGSLOT(scrtagl,5,SA_DISPLAYID,'p','0001 9004'x) /* hires+lace */
  139.    call SETTAGSLOT(scrtagl,6,SA_PENS,'p',sapens)
  140.    call SETTAGSLOT(scrtagl,7,SA_Depth,'n',3) 
  141.    call SETTAGSLOT(scrtagl,8,SA_Type,'n',CUSTOMSCREEN) 
  142.    call SETTAGSLOT(scrtagl,9,TAG_DONE,'n',0) 
  143.  
  144. return scrtagl
  145.  
  146.